// 这个函数的目的就是为了根据后台返回的数据，动态的计算 用户需要的路由
// 设计
/**
 * 
 * @param {Arry} menulist 后台返回菜单名字数组
 * @param {Arry} allroutes 我们定义的所有路由配置
 * @param {Arry} 根据后台菜单名计算出用户routes
 */
const recursionRoutes = (menulist=[],allRoutes=[]) => {
    let userRoutes = []
    menulist.forEach(item=> {
        allRoutes.forEach(routers=> {
            if(item.name===routers.meta.name) {//如果后台返回的数据中 其中某项的name和routes的meta的name相同，说明备当前routes，把routes配置添加userRoutes这个数组中
                if(item.children && item.children.length >0) { //递归子路由
                    routers.children = recursionRoutes(item.children, routers.children)
                }
                userRoutes.push(routers)
            }
        })
    })
    return userRoutes
}

export default recursionRoutes